<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:tns="http://schema.core.datamodel.fs.documentum.emc.com/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dfs-dm-core-query="http://query.core.datamodel.fs.documentum.emc.com/" xmlns:dfs-dm-core-schema="http://schema.core.datamodel.fs.documentum.emc.com/" elementFormDefault="qualified" targetNamespace="http://schema.core.datamodel.fs.documentum.emc.com/" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import schemaLocation="http://dtordam01:9080/services/core/SchemaService?xsd=3" namespace="http://query.core.datamodel.fs.documentum.emc.com/" />
  <xs:complexType name="TypeInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PropertyInfos" type="dfs-dm-core-schema:PropertyInfo" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PropertyDisplaySections" type="dfs-dm-core-schema:PropertyDisplaySection" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="RelationshipInfos" type="dfs-dm-core-schema:RelationshipInfo" />
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="label" type="xs:string" />
    <xs:attribute name="description" type="xs:string" />
    <xs:attribute name="parentName" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="PropertyInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="DefaultValues" type="xs:string" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SearchOperations" type="dfs-dm-core-query:Condition" />
      <xs:element minOccurs="0" name="ValueAssist" type="dfs-dm-core-schema:ValueAssist" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="ValueMap" type="dfs-dm-core-schema:ValueInfo" />
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Dependencies" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="label" type="xs:string" />
    <xs:attribute name="description" type="xs:string" />
    <xs:attribute name="dataType" type="dfs-dm-core-schema:DataType" />
    <xs:attribute name="isArray" type="xs:boolean" use="required" />
    <xs:attribute name="isSearchable" type="xs:boolean" use="required" />
    <xs:attribute name="isDynamic" type="xs:boolean" use="required" />
    <xs:attribute name="length" type="xs:int" use="required" />
    <xs:attribute name="isNotNull" type="xs:boolean" use="required" />
    <xs:attribute name="isRequired" type="xs:boolean" use="required" />
    <xs:attribute name="isReadOnly" type="xs:boolean" use="required" />
    <xs:attribute name="isHidden" type="xs:boolean" use="required" />
    <xs:attribute name="helpText" type="xs:string" />
    <xs:attribute name="mDefaultCondition" type="dfs-dm-core-query:Condition" />
  </xs:complexType>
  <xs:complexType name="ValueAssist">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="Values" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="allowUserValues" type="xs:boolean" use="required" />
  </xs:complexType>
  <xs:complexType name="ValueInfo">
    <xs:sequence />
    <xs:attribute name="value" type="xs:string" />
    <xs:attribute name="label" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="PropertyDisplaySection">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PropertyDisplayInfos" type="dfs-dm-core-schema:PropertyDisplayInfo" />
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="label" type="xs:string" use="required" />
  </xs:complexType>
  <xs:complexType name="PropertyDisplayInfo">
    <xs:sequence />
    <xs:attribute name="propertyName" type="xs:string" />
    <xs:attribute name="isSeparator" type="xs:boolean" use="required" />
    <xs:attribute name="isSecondary" type="xs:boolean" use="required" />
  </xs:complexType>
  <xs:complexType name="RelationshipInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="PropertyInfos" type="dfs-dm-core-schema:PropertyInfo" />
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="label" type="xs:string" />
    <xs:attribute name="description" type="xs:string" />
    <xs:attribute name="currentType" type="xs:string" use="required" />
    <xs:attribute name="currentTypeRole" type="xs:string" use="required" />
    <xs:attribute name="targetType" type="xs:string" use="required" />
    <xs:attribute name="targetTypeRole" type="xs:string" use="required" />
    <xs:attribute name="degree" type="dfs-dm-core-schema:RelationshipDegree" />
  </xs:complexType>
  <xs:complexType name="RepositoryInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="SchemaNames" type="xs:string" />
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="label" type="xs:string" />
    <xs:attribute name="description" type="xs:string" />
    <xs:attribute name="defaultSchemaName" type="xs:string" />
  </xs:complexType>
  <xs:complexType name="SchemaInfo">
    <xs:sequence>
      <xs:element minOccurs="0" maxOccurs="unbounded" name="TypeInfos" type="dfs-dm-core-schema:TypeInfo" />
    </xs:sequence>
    <xs:attribute name="name" type="xs:string" use="required" />
    <xs:attribute name="label" type="xs:string" />
    <xs:attribute name="description" type="xs:string" />
  </xs:complexType>
  <xs:simpleType name="DataType">
    <xs:restriction base="xs:string">
      <xs:enumeration value="STRING" />
      <xs:enumeration value="SHORT" />
      <xs:enumeration value="INTEGER" />
      <xs:enumeration value="LONG" />
      <xs:enumeration value="DOUBLE" />
      <xs:enumeration value="DATE" />
      <xs:enumeration value="BOOLEAN" />
      <xs:enumeration value="OBJECT_ID" />
      <xs:enumeration value="CUSTOM" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="RelationshipDegree">
    <xs:restriction base="xs:string">
      <xs:enumeration value="MANY_TO_MANY" />
      <xs:enumeration value="ONE_TO_MANY" />
      <xs:enumeration value="ONE_TO_ONE" />
    </xs:restriction>
  </xs:simpleType>
</xs:schema>